package com.demo.java.OD51_100.OD100;

import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【分奖金】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145662857
 */
public class OdMain {
    public static void main(String[] args) {
        try {
            // 创建 Scanner 对象用于读取输入
            Scanner s = new Scanner(System.in);

            // 读取数组的大小 n
            int n = s.nextInt();

            // 如果 n 小于等于 0，输出错误信息并返回
            if (n <= 0) {
                System.out.println("input error");
                return;
            }

            // 创建一个大小为 n 的整数数组
            int[] datas = new int[n];

            // 读取 n 个整数并填充到数组 datas 中
            for (int j = 0; j < n; ++j) {
                datas[j] = s.nextInt();
            }

            int data;
            // 遍历数组中的每个元素
            for (int i = 0; i < datas.length; ++i) {
                data = datas[i];
                boolean isHasFind = false; // 标记是否找到比当前元素大的值
                // 查找当前元素后面第一个大于它的元素
                for (int j = i + 1; j < datas.length; ++j) {
                    int anotherData = datas[j];
                    // 如果找到比当前元素大的值，则计算公式并输出
                    if (anotherData > data) {
                        System.out.print((anotherData - data) * (j - i));
                        isHasFind = true; // 标记已经找到
                        break; // 找到后退出循环
                    }
                }
                // 如果没有找到比当前元素大的值，直接输出当前元素
                if (!isHasFind) {
                    System.out.print(data);
                }
                // 输出空格分隔
                System.out.print(" ");
            }
        } catch (Exception e) {
            // 如果发生异常（如输入错误），输出错误信息
            e.printStackTrace();
            System.out.println("input error");
        }
    }
}